package com.huitone.gddw.service;

import java.util.List;

import com.huitone.gddw.dao.entity.PriRuleDef;
import com.huitone.gddw.model.support.QueryPage;
import com.huitone.gddw.service.dto.PriRuleDefDTO;

/**
 * 优先级规则 接口
 * @author wuluodan
 *
 */
public interface IPriRuleDefService {
	
	/**
	 * 分页查询
	 * @param page QueryPage
	 * @return QueryPage
	 */
	QueryPage<PriRuleDefDTO> selectPage(QueryPage<PriRuleDef> page);
	
	/**
	 * 获取所有的优先级规则
	 * @return List
	 */
	List<PriRuleDef> getAll();
	
	/**
	 * 根据主键查询唯一记录
	 * @param ruleId 规则ID
	 * @return PriRuleDef
	 */
	PriRuleDef selectByPrimaryKey(String ruleId);
	
	/**
	 * 根据主键获取修改页面数据
	 * @param ruleId 规则ID
	 * @return PriRuleDefDTO
	 */
	PriRuleDefDTO toUpdate(String ruleId);
	
	/**
	 * 更新
	 * @param entity PriRuleDef
	 */
	void changeStatus(PriRuleDef entity);
	
	/**
	 * 保存
	 * @param entity PriRuleDef
	 */
	void save(PriRuleDef entity);
	
	/**
	 * 更新
	 * @param entity PriRuleDef
	 */
	void update(PriRuleDef entity);
	
	/**
	 * 根据主键删除记录
	 * @param ruleId 规则ID
	 */
	void delete(String ruleId);
	
	/**
	 * 根据优先级查询
	 * @param level 优先级
	 * @return List<PriRuleDef>
	 */
	List<PriRuleDef> getByLevel(Integer level);
	
}
